/*******************************************************************/
/* @ All Rights Reserved Copyright (C) 2014 broada,Co.,Ltd.        */
/*                                                                 */
/*  NAME      = frprotocol_detect.h                                */
/*  NOTE      = 协议判断                                           */
/*  DATE      = 2014/10/29                                         */
/*******************************************************************/

#ifndef __FRPROTO_DETECT_H_
#define __FRPROTO_DETECT_H_

int  frct_l7proto_add_empty(Conntrack *p_st_ct);
int  frct_l7proto_remove(Conntrack *p_st_ct, unsigned int ui_idx);
void frct_l7proto_destory(Conntrack *p_st_ct);

int frct_stat_system_lst_update(Conntrack *p_st_ct
                               , unsigned int ui_idx
                               , int i_syn
                               , int i_established
                               , int i_disconnect
                               , int i_destroy);

void frct_l7proto_change_status(Conntrack *p_st_ct
                               , int i_flag_module_status
                               , unsigned int ui_define_ver
                               , int i_flag_l7proto_status);

int  frproto_l7_detect_first(Conntrack *p_st_ct, Analyze_data_in *p_st_data_in);
int  frproto_l7_detect_next(Conntrack *p_st_ct, Analyze_data_in *p_st_data_in);

int frproto_l7_analyze(Conntrack *p_st_ct
                     , Analyze_data_in *p_st_data_in
                     , Frhash_header  *p_st_hash_report
                     , Frlist_header  *p_st_list_output);
#endif
